package com.kerbores.mongo;

import org.nutz.lang.Lang;

import com.kerbores.mongo.utils.Mongos;
import com.mongodb.DBObject;

/**
 * 简单对象的映射实现
 * 
 * @author Kerbores<br>
 *
 *         create at 2014年11月13日 下午10:32:24
 */
public class SimpleEntityMapping<T> implements EntityMapping<T> {

	private Class<T> clazz;

	/**
	 * 
	 */
	public SimpleEntityMapping(Class<T> clazz) {
		this.clazz = clazz;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.kerbores.mongo.EntityMapping#get(com.mongodb.DBObject)
	 */
	@Override
	public T get(DBObject dbo) {
		return Lang.map2Object(Mongos.dbo2map(dbo), clazz);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.kerbores.mongo.EntityMapping#toDBObject(java.lang.Object)
	 */
	@Override
	public DBObject toDBObject(T t) {
		return Mongos.obj2dbo(t);
	}

}
